#ifndef INDEX_H
#define INDEX_H

#include <iostream>
#include <vector>
#include "Field.h"

class Index
{
	protected:
		int ID;
		unsigned int current;
		std::vector<int> fields;
		
	public:
		Index();
		Index(const Index & toCopy);
		virtual ~Index();

		void setID(int idIndex);
		int getID();

		unsigned int getFieldCount();

		void addField(Field * field);
		void removeField(int idField);
		int getIdField(unsigned int pos);
		
		void start();
		bool hasNext();
		int next();

		const Index &operator=(const Index &toAssign);
};

#endif


